package cn.darkhorse.device.dto;

import cn.darkhorse.device.pojo.MesSpareApplyRecords;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class MesRepairInfoDTO {
    private  Long[] deptIds;
    private Long deviceId;
    private  String deviceName;
    private String beginTime;
    private String endTime;
    private Long[] repairStatusArray;
    private Long[] auditStatusArray;
    private String receiver;
    private String orderType;

    /**
     * 手机端查询参数（支持维修单号、设备编号、设备名称和代号模糊搜索）
     */
    private String mobileParams;

    @ApiModelProperty("报修人")
    private Long repairer;

    /**
     * 申请备件（0：否1：是）
     */
    private Integer applyStatus;

    /**
     * 维修单id
     */
    private Long id;
    /**
     * 登记人
     */
    private Long receiveCreator;
    /**
     * 登记制单时间
     */
    private LocalDateTime receiveCreatorDate;

    /**
     * 登记制单部门
     */
    private Long reviceCreatorDept;
    /**
     * 故障类型
     */
    private Long malfunctionType;
    /**
     * 故障类型(手输)
     */
    @ApiModelProperty("报修故障类型")
    private String malfunctionTypeStr;
    /**
     * 故障描述
     */
    @ApiModelProperty("报修故障描述")
    private String malfunctionDescription;
    /**
     * 故障图片
     */
    private String malfunctionPic;

    private String attachments;
    //维修过程描述
    private String repairProcessDescription;
    //备件使用情况
    private String spareUseInfo;
    
    /**
     * 登记实际维修人员
     */
    private String maintenancePersons;
    /**
     * 备件申请记录
     */
    private List<MesSpareApplyRecords> mesSpareApplyRecordsList;

    @ApiModelProperty("单据类型 0:报修单 1:维修单")
    private Integer documentType;

    @ApiModelProperty("维修故障类型")
    private String repairMalfunctionTypeStr;

    @ApiModelProperty("维修故障描述")
    private String repairMalfunctionDescription;

    @ApiModelProperty("报修单号")
    private String applyNum;

    @ApiModelProperty("设备编号")
    private String deviceCode;

    @ApiModelProperty("审核状态（0：待审1：待派工2：待维修3：维修中4:待验证5：已完成6：已驳回）")
    private Integer auditStatus;

    @ApiModelProperty("设备类型")
    private Integer deviceType;
    @ApiModelProperty("设备标签")
    private Integer deviceTags;
    @ApiModelProperty("班组名称")
    private String teamName;
    @ApiModelProperty("主修人")
    private String mainRepairersName;
}
